/**
 * 扩展 easyui 的 tabs 控件
 */

(function($){

    $.extend($.fn.tabs.defaults,{
        fit:true,
        onContextMenu:function(e,title,index) {
            e.preventDefault();
            if (0 != index) // 第一个的tab页，是锁定的，不提供右键菜单
            {
                $("#contextmenu").menu("show", {
                    left: e.pageX,
                    top: e.pageY
                }).data("tabIndex", index);
            }
            $(this).tabs("select", index); // 鼠标右键点击时，选中该tab页
        }
    });

    $.extend($.fn.tabs.methods,{
        /**
         * 打开 tab 页
         * 当 tab 页 exists 时，调用 tabs 的 select 方法
         * 反之，则调用 tabs 的 add 方法
         * @param jq
         * @param json 是tree的json格式节点，格式为{"text":"标题","url":"链接"}
         */
        open:function(jq,json){
            return jq.each(function(){
                var text=json.text;
                var url=json.url;
                if(text && url){
                    /* 判断tab页是否已经打开 */
                    if($(this).tabs("exists",text)){ // tab页已经打开
                        $(this).tabs("select",text); // 选中tab页
                    }else{ // tab页没有打开
                        /* 打开tab页 */
                        $(this).tabs("add", {
                            title:text,
                            closable:true,
                            href:url,
                        });
                    }
                }
            });
        }
    });

})(jQuery);